package com.vivo.customer.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class DecorateManagerHistoryExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DecorateManagerHistoryExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("Id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("Id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("Id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("Id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("Id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("Id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("Id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("Id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("Id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("Id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("Id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("Id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("Id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("Id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdIsNull() {
            addCriterion("FKCustomer_ID is null");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdIsNotNull() {
            addCriterion("FKCustomer_ID is not null");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdEqualTo(String value) {
            addCriterion("FKCustomer_ID =", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdNotEqualTo(String value) {
            addCriterion("FKCustomer_ID <>", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdGreaterThan(String value) {
            addCriterion("FKCustomer_ID >", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdGreaterThanOrEqualTo(String value) {
            addCriterion("FKCustomer_ID >=", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdLessThan(String value) {
            addCriterion("FKCustomer_ID <", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdLessThanOrEqualTo(String value) {
            addCriterion("FKCustomer_ID <=", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdLike(String value) {
            addCriterion("FKCustomer_ID like", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdNotLike(String value) {
            addCriterion("FKCustomer_ID not like", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdIn(List<String> values) {
            addCriterion("FKCustomer_ID in", values, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdNotIn(List<String> values) {
            addCriterion("FKCustomer_ID not in", values, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdBetween(String value1, String value2) {
            addCriterion("FKCustomer_ID between", value1, value2, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdNotBetween(String value1, String value2) {
            addCriterion("FKCustomer_ID not between", value1, value2, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdIsNull() {
            addCriterion("FKRoom_ID is null");
            return (Criteria) this;
        }

        public Criteria andFkroomIdIsNotNull() {
            addCriterion("FKRoom_ID is not null");
            return (Criteria) this;
        }

        public Criteria andFkroomIdEqualTo(String value) {
            addCriterion("FKRoom_ID =", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdNotEqualTo(String value) {
            addCriterion("FKRoom_ID <>", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdGreaterThan(String value) {
            addCriterion("FKRoom_ID >", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdGreaterThanOrEqualTo(String value) {
            addCriterion("FKRoom_ID >=", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdLessThan(String value) {
            addCriterion("FKRoom_ID <", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdLessThanOrEqualTo(String value) {
            addCriterion("FKRoom_ID <=", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdLike(String value) {
            addCriterion("FKRoom_ID like", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdNotLike(String value) {
            addCriterion("FKRoom_ID not like", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdIn(List<String> values) {
            addCriterion("FKRoom_ID in", values, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdNotIn(List<String> values) {
            addCriterion("FKRoom_ID not in", values, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdBetween(String value1, String value2) {
            addCriterion("FKRoom_ID between", value1, value2, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdNotBetween(String value1, String value2) {
            addCriterion("FKRoom_ID not between", value1, value2, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andExamineDateIsNull() {
            addCriterion("Examine_Date is null");
            return (Criteria) this;
        }

        public Criteria andExamineDateIsNotNull() {
            addCriterion("Examine_Date is not null");
            return (Criteria) this;
        }

        public Criteria andExamineDateEqualTo(Date value) {
            addCriterion("Examine_Date =", value, "examineDate");
            return (Criteria) this;
        }

        public Criteria andExamineDateNotEqualTo(Date value) {
            addCriterion("Examine_Date <>", value, "examineDate");
            return (Criteria) this;
        }

        public Criteria andExamineDateGreaterThan(Date value) {
            addCriterion("Examine_Date >", value, "examineDate");
            return (Criteria) this;
        }

        public Criteria andExamineDateGreaterThanOrEqualTo(Date value) {
            addCriterion("Examine_Date >=", value, "examineDate");
            return (Criteria) this;
        }

        public Criteria andExamineDateLessThan(Date value) {
            addCriterion("Examine_Date <", value, "examineDate");
            return (Criteria) this;
        }

        public Criteria andExamineDateLessThanOrEqualTo(Date value) {
            addCriterion("Examine_Date <=", value, "examineDate");
            return (Criteria) this;
        }

        public Criteria andExamineDateIn(List<Date> values) {
            addCriterion("Examine_Date in", values, "examineDate");
            return (Criteria) this;
        }

        public Criteria andExamineDateNotIn(List<Date> values) {
            addCriterion("Examine_Date not in", values, "examineDate");
            return (Criteria) this;
        }

        public Criteria andExamineDateBetween(Date value1, Date value2) {
            addCriterion("Examine_Date between", value1, value2, "examineDate");
            return (Criteria) this;
        }

        public Criteria andExamineDateNotBetween(Date value1, Date value2) {
            addCriterion("Examine_Date not between", value1, value2, "examineDate");
            return (Criteria) this;
        }

        public Criteria andFkexaminePersonIsNull() {
            addCriterion("FKExamine_Person is null");
            return (Criteria) this;
        }

        public Criteria andFkexaminePersonIsNotNull() {
            addCriterion("FKExamine_Person is not null");
            return (Criteria) this;
        }

        public Criteria andFkexaminePersonEqualTo(String value) {
            addCriterion("FKExamine_Person =", value, "fkexaminePerson");
            return (Criteria) this;
        }

        public Criteria andFkexaminePersonNotEqualTo(String value) {
            addCriterion("FKExamine_Person <>", value, "fkexaminePerson");
            return (Criteria) this;
        }

        public Criteria andFkexaminePersonGreaterThan(String value) {
            addCriterion("FKExamine_Person >", value, "fkexaminePerson");
            return (Criteria) this;
        }

        public Criteria andFkexaminePersonGreaterThanOrEqualTo(String value) {
            addCriterion("FKExamine_Person >=", value, "fkexaminePerson");
            return (Criteria) this;
        }

        public Criteria andFkexaminePersonLessThan(String value) {
            addCriterion("FKExamine_Person <", value, "fkexaminePerson");
            return (Criteria) this;
        }

        public Criteria andFkexaminePersonLessThanOrEqualTo(String value) {
            addCriterion("FKExamine_Person <=", value, "fkexaminePerson");
            return (Criteria) this;
        }

        public Criteria andFkexaminePersonLike(String value) {
            addCriterion("FKExamine_Person like", value, "fkexaminePerson");
            return (Criteria) this;
        }

        public Criteria andFkexaminePersonNotLike(String value) {
            addCriterion("FKExamine_Person not like", value, "fkexaminePerson");
            return (Criteria) this;
        }

        public Criteria andFkexaminePersonIn(List<String> values) {
            addCriterion("FKExamine_Person in", values, "fkexaminePerson");
            return (Criteria) this;
        }

        public Criteria andFkexaminePersonNotIn(List<String> values) {
            addCriterion("FKExamine_Person not in", values, "fkexaminePerson");
            return (Criteria) this;
        }

        public Criteria andFkexaminePersonBetween(String value1, String value2) {
            addCriterion("FKExamine_Person between", value1, value2, "fkexaminePerson");
            return (Criteria) this;
        }

        public Criteria andFkexaminePersonNotBetween(String value1, String value2) {
            addCriterion("FKExamine_Person not between", value1, value2, "fkexaminePerson");
            return (Criteria) this;
        }

        public Criteria andExamineContentIsNull() {
            addCriterion("Examine_Content is null");
            return (Criteria) this;
        }

        public Criteria andExamineContentIsNotNull() {
            addCriterion("Examine_Content is not null");
            return (Criteria) this;
        }

        public Criteria andExamineContentEqualTo(String value) {
            addCriterion("Examine_Content =", value, "examineContent");
            return (Criteria) this;
        }

        public Criteria andExamineContentNotEqualTo(String value) {
            addCriterion("Examine_Content <>", value, "examineContent");
            return (Criteria) this;
        }

        public Criteria andExamineContentGreaterThan(String value) {
            addCriterion("Examine_Content >", value, "examineContent");
            return (Criteria) this;
        }

        public Criteria andExamineContentGreaterThanOrEqualTo(String value) {
            addCriterion("Examine_Content >=", value, "examineContent");
            return (Criteria) this;
        }

        public Criteria andExamineContentLessThan(String value) {
            addCriterion("Examine_Content <", value, "examineContent");
            return (Criteria) this;
        }

        public Criteria andExamineContentLessThanOrEqualTo(String value) {
            addCriterion("Examine_Content <=", value, "examineContent");
            return (Criteria) this;
        }

        public Criteria andExamineContentLike(String value) {
            addCriterion("Examine_Content like", value, "examineContent");
            return (Criteria) this;
        }

        public Criteria andExamineContentNotLike(String value) {
            addCriterion("Examine_Content not like", value, "examineContent");
            return (Criteria) this;
        }

        public Criteria andExamineContentIn(List<String> values) {
            addCriterion("Examine_Content in", values, "examineContent");
            return (Criteria) this;
        }

        public Criteria andExamineContentNotIn(List<String> values) {
            addCriterion("Examine_Content not in", values, "examineContent");
            return (Criteria) this;
        }

        public Criteria andExamineContentBetween(String value1, String value2) {
            addCriterion("Examine_Content between", value1, value2, "examineContent");
            return (Criteria) this;
        }

        public Criteria andExamineContentNotBetween(String value1, String value2) {
            addCriterion("Examine_Content not between", value1, value2, "examineContent");
            return (Criteria) this;
        }

        public Criteria andExamineRecordIsNull() {
            addCriterion("Examine_record is null");
            return (Criteria) this;
        }

        public Criteria andExamineRecordIsNotNull() {
            addCriterion("Examine_record is not null");
            return (Criteria) this;
        }

        public Criteria andExamineRecordEqualTo(String value) {
            addCriterion("Examine_record =", value, "examineRecord");
            return (Criteria) this;
        }

        public Criteria andExamineRecordNotEqualTo(String value) {
            addCriterion("Examine_record <>", value, "examineRecord");
            return (Criteria) this;
        }

        public Criteria andExamineRecordGreaterThan(String value) {
            addCriterion("Examine_record >", value, "examineRecord");
            return (Criteria) this;
        }

        public Criteria andExamineRecordGreaterThanOrEqualTo(String value) {
            addCriterion("Examine_record >=", value, "examineRecord");
            return (Criteria) this;
        }

        public Criteria andExamineRecordLessThan(String value) {
            addCriterion("Examine_record <", value, "examineRecord");
            return (Criteria) this;
        }

        public Criteria andExamineRecordLessThanOrEqualTo(String value) {
            addCriterion("Examine_record <=", value, "examineRecord");
            return (Criteria) this;
        }

        public Criteria andExamineRecordLike(String value) {
            addCriterion("Examine_record like", value, "examineRecord");
            return (Criteria) this;
        }

        public Criteria andExamineRecordNotLike(String value) {
            addCriterion("Examine_record not like", value, "examineRecord");
            return (Criteria) this;
        }

        public Criteria andExamineRecordIn(List<String> values) {
            addCriterion("Examine_record in", values, "examineRecord");
            return (Criteria) this;
        }

        public Criteria andExamineRecordNotIn(List<String> values) {
            addCriterion("Examine_record not in", values, "examineRecord");
            return (Criteria) this;
        }

        public Criteria andExamineRecordBetween(String value1, String value2) {
            addCriterion("Examine_record between", value1, value2, "examineRecord");
            return (Criteria) this;
        }

        public Criteria andExamineRecordNotBetween(String value1, String value2) {
            addCriterion("Examine_record not between", value1, value2, "examineRecord");
            return (Criteria) this;
        }

        public Criteria andFraudImgIsNull() {
            addCriterion("Fraud_img is null");
            return (Criteria) this;
        }

        public Criteria andFraudImgIsNotNull() {
            addCriterion("Fraud_img is not null");
            return (Criteria) this;
        }

        public Criteria andFraudImgEqualTo(String value) {
            addCriterion("Fraud_img =", value, "fraudImg");
            return (Criteria) this;
        }

        public Criteria andFraudImgNotEqualTo(String value) {
            addCriterion("Fraud_img <>", value, "fraudImg");
            return (Criteria) this;
        }

        public Criteria andFraudImgGreaterThan(String value) {
            addCriterion("Fraud_img >", value, "fraudImg");
            return (Criteria) this;
        }

        public Criteria andFraudImgGreaterThanOrEqualTo(String value) {
            addCriterion("Fraud_img >=", value, "fraudImg");
            return (Criteria) this;
        }

        public Criteria andFraudImgLessThan(String value) {
            addCriterion("Fraud_img <", value, "fraudImg");
            return (Criteria) this;
        }

        public Criteria andFraudImgLessThanOrEqualTo(String value) {
            addCriterion("Fraud_img <=", value, "fraudImg");
            return (Criteria) this;
        }

        public Criteria andFraudImgLike(String value) {
            addCriterion("Fraud_img like", value, "fraudImg");
            return (Criteria) this;
        }

        public Criteria andFraudImgNotLike(String value) {
            addCriterion("Fraud_img not like", value, "fraudImg");
            return (Criteria) this;
        }

        public Criteria andFraudImgIn(List<String> values) {
            addCriterion("Fraud_img in", values, "fraudImg");
            return (Criteria) this;
        }

        public Criteria andFraudImgNotIn(List<String> values) {
            addCriterion("Fraud_img not in", values, "fraudImg");
            return (Criteria) this;
        }

        public Criteria andFraudImgBetween(String value1, String value2) {
            addCriterion("Fraud_img between", value1, value2, "fraudImg");
            return (Criteria) this;
        }

        public Criteria andFraudImgNotBetween(String value1, String value2) {
            addCriterion("Fraud_img not between", value1, value2, "fraudImg");
            return (Criteria) this;
        }

        public Criteria andIsfraudIsNull() {
            addCriterion("ISFraud is null");
            return (Criteria) this;
        }

        public Criteria andIsfraudIsNotNull() {
            addCriterion("ISFraud is not null");
            return (Criteria) this;
        }

        public Criteria andIsfraudEqualTo(Integer value) {
            addCriterion("ISFraud =", value, "isfraud");
            return (Criteria) this;
        }

        public Criteria andIsfraudNotEqualTo(Integer value) {
            addCriterion("ISFraud <>", value, "isfraud");
            return (Criteria) this;
        }

        public Criteria andIsfraudGreaterThan(Integer value) {
            addCriterion("ISFraud >", value, "isfraud");
            return (Criteria) this;
        }

        public Criteria andIsfraudGreaterThanOrEqualTo(Integer value) {
            addCriterion("ISFraud >=", value, "isfraud");
            return (Criteria) this;
        }

        public Criteria andIsfraudLessThan(Integer value) {
            addCriterion("ISFraud <", value, "isfraud");
            return (Criteria) this;
        }

        public Criteria andIsfraudLessThanOrEqualTo(Integer value) {
            addCriterion("ISFraud <=", value, "isfraud");
            return (Criteria) this;
        }

        public Criteria andIsfraudIn(List<Integer> values) {
            addCriterion("ISFraud in", values, "isfraud");
            return (Criteria) this;
        }

        public Criteria andIsfraudNotIn(List<Integer> values) {
            addCriterion("ISFraud not in", values, "isfraud");
            return (Criteria) this;
        }

        public Criteria andIsfraudBetween(Integer value1, Integer value2) {
            addCriterion("ISFraud between", value1, value2, "isfraud");
            return (Criteria) this;
        }

        public Criteria andIsfraudNotBetween(Integer value1, Integer value2) {
            addCriterion("ISFraud not between", value1, value2, "isfraud");
            return (Criteria) this;
        }

        public Criteria andFraudDisposeIsNull() {
            addCriterion("Fraud_Dispose is null");
            return (Criteria) this;
        }

        public Criteria andFraudDisposeIsNotNull() {
            addCriterion("Fraud_Dispose is not null");
            return (Criteria) this;
        }

        public Criteria andFraudDisposeEqualTo(String value) {
            addCriterion("Fraud_Dispose =", value, "fraudDispose");
            return (Criteria) this;
        }

        public Criteria andFraudDisposeNotEqualTo(String value) {
            addCriterion("Fraud_Dispose <>", value, "fraudDispose");
            return (Criteria) this;
        }

        public Criteria andFraudDisposeGreaterThan(String value) {
            addCriterion("Fraud_Dispose >", value, "fraudDispose");
            return (Criteria) this;
        }

        public Criteria andFraudDisposeGreaterThanOrEqualTo(String value) {
            addCriterion("Fraud_Dispose >=", value, "fraudDispose");
            return (Criteria) this;
        }

        public Criteria andFraudDisposeLessThan(String value) {
            addCriterion("Fraud_Dispose <", value, "fraudDispose");
            return (Criteria) this;
        }

        public Criteria andFraudDisposeLessThanOrEqualTo(String value) {
            addCriterion("Fraud_Dispose <=", value, "fraudDispose");
            return (Criteria) this;
        }

        public Criteria andFraudDisposeLike(String value) {
            addCriterion("Fraud_Dispose like", value, "fraudDispose");
            return (Criteria) this;
        }

        public Criteria andFraudDisposeNotLike(String value) {
            addCriterion("Fraud_Dispose not like", value, "fraudDispose");
            return (Criteria) this;
        }

        public Criteria andFraudDisposeIn(List<String> values) {
            addCriterion("Fraud_Dispose in", values, "fraudDispose");
            return (Criteria) this;
        }

        public Criteria andFraudDisposeNotIn(List<String> values) {
            addCriterion("Fraud_Dispose not in", values, "fraudDispose");
            return (Criteria) this;
        }

        public Criteria andFraudDisposeBetween(String value1, String value2) {
            addCriterion("Fraud_Dispose between", value1, value2, "fraudDispose");
            return (Criteria) this;
        }

        public Criteria andFraudDisposeNotBetween(String value1, String value2) {
            addCriterion("Fraud_Dispose not between", value1, value2, "fraudDispose");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateIsNull() {
            addCriterion("Source_Create_date is null");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateIsNotNull() {
            addCriterion("Source_Create_date is not null");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateEqualTo(Date value) {
            addCriterion("Source_Create_date =", value, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateNotEqualTo(Date value) {
            addCriterion("Source_Create_date <>", value, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateGreaterThan(Date value) {
            addCriterion("Source_Create_date >", value, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("Source_Create_date >=", value, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateLessThan(Date value) {
            addCriterion("Source_Create_date <", value, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateLessThanOrEqualTo(Date value) {
            addCriterion("Source_Create_date <=", value, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateIn(List<Date> values) {
            addCriterion("Source_Create_date in", values, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateNotIn(List<Date> values) {
            addCriterion("Source_Create_date not in", values, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateBetween(Date value1, Date value2) {
            addCriterion("Source_Create_date between", value1, value2, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateNotBetween(Date value1, Date value2) {
            addCriterion("Source_Create_date not between", value1, value2, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateIsNull() {
            addCriterion("Source_lastModify_date is null");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateIsNotNull() {
            addCriterion("Source_lastModify_date is not null");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateEqualTo(Date value) {
            addCriterion("Source_lastModify_date =", value, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateNotEqualTo(Date value) {
            addCriterion("Source_lastModify_date <>", value, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateGreaterThan(Date value) {
            addCriterion("Source_lastModify_date >", value, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateGreaterThanOrEqualTo(Date value) {
            addCriterion("Source_lastModify_date >=", value, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateLessThan(Date value) {
            addCriterion("Source_lastModify_date <", value, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateLessThanOrEqualTo(Date value) {
            addCriterion("Source_lastModify_date <=", value, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateIn(List<Date> values) {
            addCriterion("Source_lastModify_date in", values, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateNotIn(List<Date> values) {
            addCriterion("Source_lastModify_date not in", values, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateBetween(Date value1, Date value2) {
            addCriterion("Source_lastModify_date between", value1, value2, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateNotBetween(Date value1, Date value2) {
            addCriterion("Source_lastModify_date not between", value1, value2, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserIsNull() {
            addCriterion("Source_Add_user is null");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserIsNotNull() {
            addCriterion("Source_Add_user is not null");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserEqualTo(String value) {
            addCriterion("Source_Add_user =", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserNotEqualTo(String value) {
            addCriterion("Source_Add_user <>", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserGreaterThan(String value) {
            addCriterion("Source_Add_user >", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserGreaterThanOrEqualTo(String value) {
            addCriterion("Source_Add_user >=", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserLessThan(String value) {
            addCriterion("Source_Add_user <", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserLessThanOrEqualTo(String value) {
            addCriterion("Source_Add_user <=", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserLike(String value) {
            addCriterion("Source_Add_user like", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserNotLike(String value) {
            addCriterion("Source_Add_user not like", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserIn(List<String> values) {
            addCriterion("Source_Add_user in", values, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserNotIn(List<String> values) {
            addCriterion("Source_Add_user not in", values, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserBetween(String value1, String value2) {
            addCriterion("Source_Add_user between", value1, value2, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserNotBetween(String value1, String value2) {
            addCriterion("Source_Add_user not between", value1, value2, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceIdIsNull() {
            addCriterion("Source_id is null");
            return (Criteria) this;
        }

        public Criteria andSourceIdIsNotNull() {
            addCriterion("Source_id is not null");
            return (Criteria) this;
        }

        public Criteria andSourceIdEqualTo(String value) {
            addCriterion("Source_id =", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotEqualTo(String value) {
            addCriterion("Source_id <>", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdGreaterThan(String value) {
            addCriterion("Source_id >", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdGreaterThanOrEqualTo(String value) {
            addCriterion("Source_id >=", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdLessThan(String value) {
            addCriterion("Source_id <", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdLessThanOrEqualTo(String value) {
            addCriterion("Source_id <=", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdLike(String value) {
            addCriterion("Source_id like", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotLike(String value) {
            addCriterion("Source_id not like", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdIn(List<String> values) {
            addCriterion("Source_id in", values, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotIn(List<String> values) {
            addCriterion("Source_id not in", values, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdBetween(String value1, String value2) {
            addCriterion("Source_id between", value1, value2, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotBetween(String value1, String value2) {
            addCriterion("Source_id not between", value1, value2, "sourceId");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("Status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("Status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion("Status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion("Status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion("Status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion("Status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion("Status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion("Status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLike(String value) {
            addCriterion("Status like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotLike(String value) {
            addCriterion("Status not like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<String> values) {
            addCriterion("Status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<String> values) {
            addCriterion("Status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion("Status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion("Status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion("Remarks is null");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion("Remarks is not null");
            return (Criteria) this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion("Remarks =", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion("Remarks <>", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion("Remarks >", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion("Remarks >=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion("Remarks <", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion("Remarks <=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLike(String value) {
            addCriterion("Remarks like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotLike(String value) {
            addCriterion("Remarks not like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksIn(List<String> values) {
            addCriterion("Remarks in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotIn(List<String> values) {
            addCriterion("Remarks not in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion("Remarks between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion("Remarks not between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("Create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("Create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("Create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("Create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("Create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("Create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("Create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("Create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("Create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("Create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("Create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("Create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeIsNull() {
            addCriterion("LastModify_Time is null");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeIsNotNull() {
            addCriterion("LastModify_Time is not null");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeEqualTo(Date value) {
            addCriterion("LastModify_Time =", value, "lastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeNotEqualTo(Date value) {
            addCriterion("LastModify_Time <>", value, "lastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeGreaterThan(Date value) {
            addCriterion("LastModify_Time >", value, "lastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("LastModify_Time >=", value, "lastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeLessThan(Date value) {
            addCriterion("LastModify_Time <", value, "lastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeLessThanOrEqualTo(Date value) {
            addCriterion("LastModify_Time <=", value, "lastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeIn(List<Date> values) {
            addCriterion("LastModify_Time in", values, "lastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeNotIn(List<Date> values) {
            addCriterion("LastModify_Time not in", values, "lastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeBetween(Date value1, Date value2) {
            addCriterion("LastModify_Time between", value1, value2, "lastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andLastmodifyTimeNotBetween(Date value1, Date value2) {
            addCriterion("LastModify_Time not between", value1, value2, "lastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andAddUserIsNull() {
            addCriterion("Add_User is null");
            return (Criteria) this;
        }

        public Criteria andAddUserIsNotNull() {
            addCriterion("Add_User is not null");
            return (Criteria) this;
        }

        public Criteria andAddUserEqualTo(String value) {
            addCriterion("Add_User =", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotEqualTo(String value) {
            addCriterion("Add_User <>", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserGreaterThan(String value) {
            addCriterion("Add_User >", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserGreaterThanOrEqualTo(String value) {
            addCriterion("Add_User >=", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserLessThan(String value) {
            addCriterion("Add_User <", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserLessThanOrEqualTo(String value) {
            addCriterion("Add_User <=", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserLike(String value) {
            addCriterion("Add_User like", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotLike(String value) {
            addCriterion("Add_User not like", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserIn(List<String> values) {
            addCriterion("Add_User in", values, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotIn(List<String> values) {
            addCriterion("Add_User not in", values, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserBetween(String value1, String value2) {
            addCriterion("Add_User between", value1, value2, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotBetween(String value1, String value2) {
            addCriterion("Add_User not between", value1, value2, "addUser");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}